Enterprises are increasingly hosting applications in different types of environments including public, private, and hosted cloud network environments, for example. Cloud deployments for applications can provide increased agility, increased elasticity, and a utilization-based consumption model, and can be desirable or undesirable according to application requirements. For example, some applications have minimal security requirements that render them better suited for deployment in a cloud environment while other applications have significant memory requirements that render them better suited for deployment on physical hardware.
Accordingly, enterprises are often required to make application placement decisions, which can be challenging. Software tools are currently available that assist with application deployment and migration decisions. Such current decision support systems generally apply predefined rules based on an application assessment to generate a recommended placement for a plurality of applications associated with a particular enterprise.
However, these tools have significant limitations that impact their utility. In particular, the applied rules often utilize parameters that do not directly correlate with imported attributes associated with applications to be placed. Further, the rules are not customizable, adaptable, or extensible with respect to the type or number of included parameters. Accordingly, current decision support systems utilize static rules having a static set of parameters, resulting in deficient placement decisions that decrease in effectiveness over time as application environments evolve.